home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Scene Storm
/
Scene Storm - Volume 1.iso
/
coding
/
asm
/
demos
/
coppercycle
/
coppercycle.s
< prev
next >
Wrap
Text File
|
1980-01-06
|
13KB
|
549 lines
section chuppy,code_c
incdir 'scene1:coding/asm/demos/exsyslib/'
include 'include/hardware/exsys_takeover.s' ;1st codeline!
lea $dff000,a6
move.l #Copperlist,cop1lch(a6) ; install custom copperlist
move.w d0,copjmp1(a6) ; clear second copperlist
move.w #$c020,intena(a6) ; return INTENA:
move.w #$87c0,dmacon(a6) ; return DMA:Cop/Blit/Sprite
bsr.w get_planes
main: cmp.b #255,$dff006
bne.s main
bsr.w cyclecop
btst #6,$bfe001
bne.s main
rts
***********************************************************************
* Set Up the Planes..........
*********************************************************************
get_planes lea planeptrs,a0 ;get address of copper planes ptrs
lea planes,a1 ;address of planes
move.l #3-1,d2 ;number of planes -1
.loop move.l a1,d0 ;store it in d0
move.w d0,6(a0) ;get low word
swap d0 ;swap it round
move.w d0,2(a0) ;get high word
add.l #10240,a1 ;add single plane size
add.l #8,a0 ;add next copper plane ptr
dbra d2,.loop ;do all planes
rts ;done!!!
*************************************************************************
* Cycle da copper!!!
***********************************************************************
cyclecop lea copst+6,a0 ;addr of first colour
lea copst+14,a1 ;addr of second colour
move.l #204-1,d0 ;number of colours to cycle
move.w (a0),d1 ;store first colour
do_cop move.w (a1),(a0) ;move second colour into first
addq.l #8,a0 ;add to next colour
addq.l #8,a1 ;ditto...
dbra d0,do_cop ;shift all colours
move.w d1,(a0) ;put first colour in last colour
rts ;done!!!!
***************************************************
*** Datas ***
***************************************************
Copperlist: dc.l $01200000,$01220000,$01240000,$01260000
dc.l $01280000,$012a0000,$012c0000,$012e0000
dc.l $01300000,$01320000,$01340000,$01360000
dc.l $01380000,$013a0000,$013c0000,$013e0000
dc.l $008e2c81,$00902bc1,$00920038,$009400d0
dc.l $01020000,$01040000,$01080000,$010a0000
dc.l $01000200,$01060000,$01fc0000
PlanePtrs: dc.l $00e00000,$00e20000,$00e40000,$00e60000
dc.l $00e80000,$00ea0000
dc.l $01003200
dc.l $01800000,$01820333,$01840555,$01860777
dc.l $01880999,$018a0bbb,$018c0ddd,$018e0fff
copst dc.w $3001,$fffe,$180,$000
dc.w $3101,$fffe,$180,$001
dc.w $3201,$fffe,$180,$002
dc.w $3301,$fffe,$180,$003
dc.w $3401,$fffe,$180,$004
dc.w $3501,$fffe,$180,$005
dc.w $3601,$fffe,$180,$006
dc.w $3701,$fffe,$180,$007
dc.w $3801,$fffe,$180,$008
dc.w $3901,$fffe,$180,$009
dc.w $3a01,$fffe,$180,$00a
dc.w $3b01,$fffe,$180,$00b
dc.w $3c01,$fffe,$180,$00c
dc.w $3d01,$fffe,$180,$00d
dc.w $3e01,$fffe,$180,$00e
dc.w $3f01,$fffe,$180,$00f
dc.w $4001,$fffe,$180,$00e
dc.w $4101,$fffe,$180,$00d
dc.w $4201,$fffe,$180,$00c
dc.w $4301,$fffe,$180,$00b
dc.w $4401,$fffe,$180,$00a
dc.w $4501,$fffe,$180,$009
dc.w $4601,$fffe,$180,$008
dc.w $4701,$fffe,$180,$007
dc.w $4801,$fffe,$180,$006
dc.w $4901,$fffe,$180,$005
dc.w $4a01,$fffe,$180,$004
dc.w $4b01,$fffe,$180,$003
dc.w $4c01,$fffe,$180,$002
dc.w $4d01,$fffe,$180,$001
dc.w $4e01,$fffe,$180,$000
dc.w $4f01,$fffe,$180,$100
dc.w $5001,$fffe,$180,$200
dc.w $5101,$fffe,$180,$300
dc.w $5201,$fffe,$180,$400
dc.w $5301,$fffe,$180,$500
dc.w $5401,$fffe,$180,$600
dc.w $5501,$fffe,$180,$700
dc.w $5601,$fffe,$180,$800
dc.w $5701,$fffe,$180,$900
dc.w $5801,$fffe,$180,$a00
dc.w $5901,$fffe,$180,$b00
dc.w $5a01,$fffe,$180,$c00
dc.w $5b01,$fffe,$180,$d00
dc.w $5c01,$fffe,$180,$e00
dc.w $5d01,$fffe,$180,$f00
dc.w $5e01,$fffe,$180,$e00
dc.w $5f01,$fffe,$180,$d00
dc.w $6001,$fffe,$180,$c00
dc.w $6101,$fffe,$180,$b00
dc.w $6201,$fffe,$180,$a00
dc.w $6301,$fffe,$180,$900
dc.w $6401,$fffe,$180,$800
dc.w $6501,$fffe,$180,$700
dc.w $6601,$fffe,$180,$600
dc.w $6701,$fffe,$180,$500
dc.w $6801,$fffe,$180,$400
dc.w $6901,$fffe,$180,$300
dc.w $6a01,$fffe,$180,$200
dc.w $6b01,$fffe,$180,$100
dc.w $6c01,$fffe,$180,$000
dc.w $6d01,$fffe,$180,$010
dc.w $6e01,$fffe,$180,$020
dc.w $6f01,$fffe,$180,$030
dc.w $7001,$fffe,$180,$040
dc.w $7101,$fffe,$180,$050
dc.w $7201,$fffe,$180,$060
dc.w $7301,$fffe,$180,$070
dc.w $7401,$fffe,$180,$080
dc.w $7501,$fffe,$180,$090
dc.w $7601,$fffe,$180,$0a0
dc.w $7701,$fffe,$180,$0b0
dc.w $7801,$fffe,$180,$0c0
dc.w $7901,$fffe,$180,$0d0
dc.w $7a01,$fffe,$180,$0e0
dc.w $7b01,$fffe,$180,$0f0
dc.w $7c01,$fffe,$180,$0e0
dc.w $7d01,$fffe,$180,$0d0
dc.w $7e01,$fffe,$180,$0c0
dc.w $7f01,$fffe,$180,$0b0
dc.w $8001,$fffe,$180,$0a0
dc.w $8101,$fffe,$180,$090
dc.w $8201,$fffe,$180,$080
dc.w $8301,$fffe,$180,$070
dc.w $8401,$fffe,$180,$060
dc.w $8501,$fffe,$180,$050
dc.w $8601,$fffe,$180,$040
dc.w $8701,$fffe,$180,$030
dc.w $8801,$fffe,$180,$020
dc.w $8901,$fffe,$180,$010
dc.w $8a01,$fffe,$180,$000
dc.w $8b01,$fffe,$180,$011
dc.w $8c01,$fffe,$180,$022
dc.w $8d01,$fffe,$180,$033
dc.w $8e01,$fffe,$180,$044
dc.w $8f01,$fffe,$180,$055
dc.w $9001,$fffe,$180,$066
dc.w $9101,$fffe,$180,$077
dc.w $9201,$fffe,$180,$088
dc.w $9301,$fffe,$180,$099
dc.w $9401,$fffe,$180,$0aa
dc.w $9501,$fffe,$180,$0bb
dc.w $9601,$fffe,$180,$0cc
dc.w $9701,$fffe,$180,$0dd
dc.w $9801,$fffe,$180,$0ee
dc.w $9901,$fffe,$180,$0ff
dc.w $9a01,$fffe,$180,$0ee
dc.w $9b01,$fffe,$180,$0dd
dc.w $9c01,$fffe,$180,$0cc
dc.w $9d01,$fffe,$180,$0bb
dc.w $9e01,$fffe,$180,$0aa
dc.w $9f01,$fffe,$180,$099
dc.w $a001,$fffe,$180,$088
dc.w $a101,$fffe,$180,$077
dc.w $a201,$fffe,$180,$066
dc.w $a301,$fffe,$180,$055
dc.w $a401,$fffe,$180,$044
dc.w $a501,$fffe,$180,$033
dc.w $a601,$fffe,$180,$022
dc.w $a701,$fffe,$180,$011
dc.w $a801,$fffe,$180,$000
dc.w $a901,$fffe,$180,$110
dc.w $aa01,$fffe,$180,$220
dc.w $ab01,$fffe,$180,$330
dc.w $ac01,$fffe,$180,$440
dc.w $ad01,$fffe,$180,$550
dc.w $ae01,$fffe,$180,$660
dc.w $af01,$fffe,$180,$770
dc.w $b001,$fffe,$180,$880
dc.w $b101,$fffe,$180,$990
dc.w $b201,$fffe,$180,$aa0
dc.w $b301,$fffe,$180,$bb0
dc.w $b401,$fffe,$180,$cc0
dc.w $b501,$fffe,$180,$dd0
dc.w $b601,$fffe,$180,$ee0
dc.w $b701,$fffe,$180,$ff0
dc.w $b801,$fffe,$180,$ee0
dc.w $b901,$fffe,$180,$dd0
dc.w $ba01,$fffe,$180,$cc0
dc.w $bb01,$fffe,$180,$bb0
dc.w $bc01,$fffe,$180,$aa0
dc.w $bd01,$fffe,$180,$990
dc.w $be01,$fffe,$180,$880
dc.w $bf01,$fffe,$180,$770
dc.w $c001,$fffe,$180,$660
dc.w $c101,$fffe,$180,$550
dc.w $c201,$fffe,$180,$440
dc.w $c301,$fffe,$180,$330
dc.w $c401,$fffe,$180,$220
dc.w $c501,$fffe,$180,$110
dc.w $c601,$fffe,$180,$000
dc.w $c701,$fffe,$180,$111
dc.w $c801,$fffe,$180,$222
dc.w $c901,$fffe,$180,$333
dc.w $ca01,$fffe,$180,$444
dc.w $cb01,$fffe,$180,$555
dc.w $cc01,$fffe,$180,$666
dc.w $cd01,$fffe,$180,$777
dc.w $ce01,$fffe,$180,$888
dc.w $cf01,$fffe,$180,$999
dc.w $d001,$fffe,$180,$aaa
dc.w $d101,$fffe,$180,$bbb
dc.w $d201,$fffe,$180,$ccc
dc.w $d301,$fffe,$180,$ddd
dc.w $d401,$fffe,$180,$eee
dc.w $d501,$fffe,$180,$fff
dc.w $d601,$fffe,$180,$eee
dc.w $d701,$fffe,$180,$ddd
dc.w $d801,$fffe,$180,$ccc
dc.w $d901,$fffe,$180,$bbb
dc.w $da01,$fffe,$180,$aaa
dc.w $db01,$fffe,$180,$999
dc.w $dc01,$fffe,$180,$888
dc.w $dd01,$fffe,$180,$777
dc.w $de01,$fffe,$180,$666
dc.w $df01,$fffe,$180,$555
dc.w $e001,$fffe,$180,$444
dc.w $e101,$fffe,$180,$333
dc.w $e201,$fffe,$180,$222
dc.w $e301,$fffe,$180,$111
dc.w $e401,$fffe,$180,$000
dc.w $e501,$fffe,$180,$101
dc.w $e601,$fffe,$180,$202
dc.w $e701,$fffe,$180,$303
dc.w $e801,$fffe,$180,$404
dc.w $e901,$fffe,$180,$505
dc.w $ea01,$fffe,$180,$606
dc.w $eb01,$fffe,$180,$707
dc.w $ec01,$fffe,$180,$808
dc.w $ed01,$fffe,$180,$909
dc.w $ee01,$fffe,$180,$a0a
dc.w $ef01,$fffe,$180,$b0b
dc.w $f001,$fffe,$180,$c0c
dc.w $f101,$fffe,$180,$d0d
dc.w $f201,$fffe,$180,$d0d
dc.w $f301,$fffe,$180,$c0c
dc.w $f401,$fffe,$180,$b0b
dc.w $f501,$fffe,$180,$a0a
dc.w $f601,$fffe,$180,$909
dc.w $f701,$fffe,$180,$808
dc.w $f801,$fffe,$180,$707
dc.w $f901,$fffe,$180,$606
dc.w $fa01,$fffe,$180,$505
dc.w $fb01,$fffe,$180,$404
dc.w $fc01,$fffe,$180,$303
dc.w $fd01,$fffe,$180,$202
dc.w $fe01,$fffe,$180,$101
dc.w $ff01,$fffe,$180,$000
dc.l -2 ;end copperlist
section b,bss_c
planes ds.b 40*256*3
Level3Vector equ $6c
SysCop1 equ $26
_ciaa: equ $bfe001
_ciab: equ $bfd000
left equ 6
_custom: equ $dff000
bltddat: equ $000
dmaconr: equ $002
vposr: equ $004
vhposr: equ $006
dskdatr: equ $008
joy0dat: equ $00a
joy1dat: equ $00c
clxdat: equ $00e
adkconr: equ $010
pot0dat: equ $012
pot1dat: equ $014
potgor: equ $016
serdatr: equ $018
dskbytr: equ $01a
intenar: equ $01c
intreqr: equ $01e
dskpth: equ $020
dskptl: equ $022
dsklen: equ $024
dskdat: equ $026
refptr: equ $028
vposw: equ $02a
vhposw: equ $02c
copcon: equ $02e
serdat: equ $030
serper: equ $032
potgo: equ $034
joytest: equ $036
strequ: equ $038
strvbl: equ $03a
strhor: equ $03c
strlong: equ $03e
bltcon0: equ $040
bltcon1: equ $042
bltafwm: equ $044
bltalwm: equ $046
bltcpth: equ $048
bltcptl: equ $04a
bltbpth: equ $04c
bltbptl: equ $04e
bltapth: equ $050
bltaptl: equ $052
bltdpth: equ $054
bltdptl: equ $056
bltsize: equ $058
bltcmod: equ $060
bltbmod: equ $062
bltamod: equ $064
bltdmod: equ $066
bltcdat: equ $070
bltbdat: equ $072
bltadat: equ $074
dsksync: equ $07e
cop1lch: equ $080
cop1lcl: equ $082
cop2lch: equ $084
cop2lcl: equ $086
copjmp1: equ $088
copjmp2: equ $08a
copins: equ $08c
diwstrt: equ $08e
diwstop: equ $090
ddfstrt: equ $092
ddfstop: equ $094
dmacon: equ $096
clxcon: equ $098
intena: equ $09a
intreq: equ $09c
adkcon: equ $09e
aud0pth: equ $0a0
aud0ptl: equ $0a2
aud0len: equ $0a4
aud0per: equ $0a6
aud0vol: equ $0a8
aud0dat: equ $0aa
aud1pth: equ $0b0
aud1ptl: equ $0b2
aud1len: equ $0b4
aud1per: equ $0b6
aud1vol: equ $0b8
aud1dat: equ $0ba
aud2pth: equ $0c0
aud2ptl: equ $0c2
aud2len: equ $0c4
aud2per: equ $0c6
aud2vol: equ $0c8
aud2dat: equ $0ca
aud3pth: equ $0d0
aud3ptl: equ $0d2
aud3len: equ $0d4
aud3per: equ $0d6
aud3vol: equ $0d8
aud3dat: equ $0da
bpl1pth: equ $0e0
bpl1ptl: equ $0e2
bpl2pth: equ $0e4
bpl2ptl: equ $0e6
bpl3pth: equ $0e8
bpl3ptl: equ $0ea
bpl4pth: equ $0ec
bpl4ptl: equ $0ee
bpl5pth: equ $0f0
bpl5ptl: equ $0f2
bpl6pth: equ $0f4
bpl6ptl: equ $0f6
bplcon0: equ $100
bplcon1: equ $102
bplcon2: equ $104
bpl1mod: equ $108
bpl2mod: equ $10a
bpl1dat: equ $110
bpl2dat: equ $112
bpl3dat: equ $114
bpl4dat: equ $116
bpl5dat: equ $118
bpl6dat: equ $11a
spr0pth: equ $120
spr0ptl: equ $122
spr1pth: equ $124
spr1ptl: equ $126
spr2pth: equ $128
spr2ptl: equ $12a
spr3pth: equ $12c
spr3ptl: equ $12e
spr4pth: equ $130
spr4ptl: equ $132
spr5pth: equ $134
spr5ptl: equ $136
spr6pth: equ $138
spr6ptl: equ $13a
spr7pth: equ $13c
spr7ptl: equ $13e
spr0pos: equ $140
spr0ctl: equ $142
spr0data: equ $144
spr0datb: equ $146
spr1pos: equ $148
spr1ctl: equ $14a
spr1data: equ $14c
spr1datb: equ $14e
spr2pos: equ $150
spr2ctl: equ $152
spr2data: equ $154
spr2datb: equ $156
spr3pos: equ $158
spr3ctl: equ $15a
spr3data: equ $15c
spr3datb: equ $15e
spr4pos: equ $160
spr4ctl: equ $162
spr4data: equ $164
spr4datb: equ $166
spr5pos: equ $168
spr5ctl: equ $16a
spr5data: equ $16c
spr5datb: equ $16e
spr6pos: equ $170
spr6ctl: equ $172
spr6data: equ $174
spr6datb: equ $176
spr7pos: equ $178
spr7ctl: equ $17a
spr7data: equ $17c
spr7datb: equ $17e
color00: equ $180
color01: equ $182
color02: equ $184
color03: equ $186
color04: equ $188
color05: equ $18a
color06: equ $18c
color07: equ $18e
color08: equ $190
color09: equ $192
color10: equ $194
color11: equ $196
color12: equ $198
color13: equ $19a
color14: equ $19c
color15: equ $19e
color16: equ $1a0
color17: equ $1a2
color18: equ $1a4
color19: equ $1a6
color20: equ $1a8
color21: equ $1aa
color22: equ $1ac
color23: equ $1ae
color24: equ $1b0
color25: equ $1b2
color26: equ $1b4
color27: equ $1b6
color28: equ $1b8
color29: equ $1ba
color30: equ $1bc
color31: equ $1be
open: equ -30
close: equ -36
read: equ -42
write: equ -48
input: equ -54
output: equ -60
seek: equ -66
deletefile: equ -72
rename: equ -78
lock: equ -84
unlock: equ -90
duplock: equ -96
examine: equ -102
exnext: equ -108
info: equ -114
createdir: equ -120
currentdir: equ -126
ioErr: equ -132
CreateProc: equ -138
exit: equ -144
loadseg: equ -150
unloadseg: equ -156
getpacket: equ -162
queupacket: equ -168
deviceproc: equ -174
setcomment: equ -180
setprotection: equ -186
datestamp: equ -192
delay: equ -198
waitforchar: equ -204
parentdir: equ -210
IsInteractive: equ -216
Execute: equ -222
AbsExecBase: equ 4
forbid equ -132
permit equ -138
allocmem: equ -198
freemem: equ -210
getmsg: equ -372
replymsg: equ -378
waitport: equ -384
closelibrary: equ -414
opendevice: equ -444
closedevice: equ -450
doio: equ -456
oldopenlibrary equ -408
openlibrary: equ -552